Virtualized computer systems are becoming increasingly deployed in computing environments. These virtualized computer systems include virtual servers and other virtual machines that host a variety of software applications. Virtual servers can be scaled up or down on-the-fly based on demand, among other factors, to allow for infrastructure flexibility, faster deployment of applications and data, cost control, and adaptability. Cloud computing systems can use these virtualized computer systems to provide flexible computing resources to end users. Cloud computing systems allow for users spread over a variety of geographic locations to access resources of these virtualized computer systems, such as databases, applications, web content, or other digital data, services, or content.
Cloud Service Providers (CSPs) such as Amazon, Google, Rackspace, and OpenStack deploy physical hardware such as servers, network infrastructure, and connectivity for the cloud computing systems to host digital products and services from various remote locations. Cloud service customers can employ the resources provided by the various CSPs without having to purchase and maintain physical equipment.
Access to cloud resources of the various CSPs is managed through permissions. These permissions could include usernames and passwords, as well as other credentialing information. However, in cloud computing environments, access control beyond initial user authorization is limited. The current access control systems lack the ability to manage access to resources accessed by virtual machines.